package com.wechat.entity;

import java.math.BigDecimal;
import java.util.Date;

public class UserRechargeRecord {

    /**
     * 红包支付
     */
    public static final int RECHARGE_TYPE_REDPACKETIN = 0;
    /**
     * 余额支付
     */
    public static final int RECHARGE_TYPE_ACCOUNT_RECHARGE = 1;

    /**
     * 充值流水号
     */
    private Long id;

    /**
     * 用户Id
     */
    private Integer userId;

    /**
     * 当前账户余额
     */
    private BigDecimal balance;

    /**
     * 充值金额
     */
    private BigDecimal amount;

    /**
     * 手续费
     */
    private BigDecimal taxesFee;

    /**
     * 实际到账金额
     */
    private BigDecimal realFee;

    /**
     * 微信交易号
     */
    private String tradeNo;

    /**
     * 交易状态 0待支付 1已支付 2原路退回 3微信订单已关闭
     */
    private Byte tradeStatus;

    /**
     * 交易时间(到账时间)
     */
    private Date dateTraded;

    /**
     * 提交时间
     */
    private Date createTime;

    /**
     * 业务类型（0在线充值，1线下充值）
     */
    private Byte rechargeType;

    /**
     * 描述
     */
    private String remark;

    /**
     * 线下充值操作人id
     */
    private Integer rechargeOperatorId;

    /**
     * 线下充值操作人
     */
    private String rechargeOperatorName;

    /**
     * 充值流水号
     */
    public Long getId() {
        return id;
    }

    /**
     * 充值流水号
     *
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 用户Id
     */
    public Integer getUserId() {
        return userId;
    }

    /**
     * 用户Id
     *
     * @param userId
     */
    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    /**
     * 当前账户余额
     */
    public BigDecimal getBalance() {
        return balance;
    }

    /**
     * 当前账户余额
     *
     * @param balance
     */
    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }

    /**
     * 充值金额
     */
    public BigDecimal getAmount() {
        return amount;
    }

    /**
     * 充值金额
     *
     * @param amount
     */
    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    /**
     * 手续费
     */
    public BigDecimal getTaxesFee() {
        return taxesFee;
    }

    /**
     * 手续费
     *
     * @param taxesFee
     */
    public void setTaxesFee(BigDecimal taxesFee) {
        this.taxesFee = taxesFee;
    }

    /**
     * 实际到账金额
     */
    public BigDecimal getRealFee() {
        return realFee;
    }

    /**
     * 实际到账金额
     *
     * @param realFee
     */
    public void setRealFee(BigDecimal realFee) {
        this.realFee = realFee;
    }

    /**
     * 微信交易号
     */
    public String getTradeNo() {
        return tradeNo;
    }

    /**
     * 微信交易号
     *
     * @param tradeNo
     */
    public void setTradeNo(String tradeNo) {
        this.tradeNo = tradeNo == null ? null : tradeNo.trim();
    }

    /**
     * 交易状态 0待支付 1已支付 2原路退回
     */
    public Byte getTradeStatus() {
        return tradeStatus;
    }

    /**
     * 交易状态 0待支付 1已支付 2原路退回
     *
     * @param tradeStatus
     */
    public void setTradeStatus(Byte tradeStatus) {
        this.tradeStatus = tradeStatus;
    }

    /**
     * 交易时间(到账时间)
     */
    public Date getDateTraded() {
        return dateTraded;
    }

    /**
     * 交易时间(到账时间)
     *
     * @param dateTraded
     */
    public void setDateTraded(Date dateTraded) {
        this.dateTraded = dateTraded;
    }

    /**
     * 提交时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 提交时间
     *
     * @param createTime
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 业务类型（0在线充值，1线下充值）
     */
    public Byte getRechargeType() {
        return rechargeType;
    }

    /**
     * 业务类型（0在线充值，1线下充值）
     *
     * @param rechargeType
     */
    public void setRechargeType(Byte rechargeType) {
        this.rechargeType = rechargeType;
    }

    /**
     * 描述
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 描述
     *
     * @param remark
     */
    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    /**
     * 线下充值操作人id
     */
    public Integer getRechargeOperatorId() {
        return rechargeOperatorId;
    }

    /**
     * 线下充值操作人id
     *
     * @param rechargeOperatorId
     */
    public void setRechargeOperatorId(Integer rechargeOperatorId) {
        this.rechargeOperatorId = rechargeOperatorId;
    }

    /**
     * 线下充值操作人
     */
    public String getRechargeOperatorName() {
        return rechargeOperatorName;
    }

    /**
     * 线下充值操作人
     *
     * @param rechargeOperatorName
     */
    public void setRechargeOperatorName(String rechargeOperatorName) {
        this.rechargeOperatorName = rechargeOperatorName == null ? null : rechargeOperatorName.trim();
    }
}